package com.china08.yxyapi.entity.db.lessons.cloud;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.china08.yxyapi.entity.BaseEntity;

/**
 * 云课程
 * 
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "yxy_lessons_cloud_lesson", catalog = "yxy_lessons")
public class YxyLessonsCloudLesson extends BaseEntity {

    @Column(nullable = false, columnDefinition = "varchar(32) comment '一级目录id' ")
    private String catalogId1;// 一级目录id

    @Column(columnDefinition = "varchar(32) comment '二级目录id' ")
    private String catalogId2;// 二级目录id

    @Column(columnDefinition = "varchar(32) comment '三级目录id' ")
    private String catalogId3;// 三级目录id

    @Column(columnDefinition = "varchar(32) comment '四级目录id' ")
    private String catalogId4;// 四级目录id

    @Column(columnDefinition = "varchar(32) comment '五级目录id' ")
    private String catalogId5;// 五级目录id

    @Column(nullable = false)
    private String name;// 课程名称

    @Column(nullable = false, columnDefinition = "TEXT")
    private String summary;// 简介

    @Column(nullable = false)
    private String cover;// 封面

    @Column
    private Integer count;// 总课时

    @Column
    private Date createDate;// 创建时间

    @Column
    private Date upDate;// 上架时间

    private Integer status;// 状态-1-删除,0-草稿,1-待审核,2-审核通过,3-审核拒绝

    @Column
    private String rejectType;// 拒绝分类

    @Column
    private String rejectReason;// 拒绝原因

    @Column
    private Date auditDate;// 审核时间

    @Column
    private String downType;// 下架分类

    @Column(columnDefinition = "TEXT")
    private String downReason;// 下架原因

    @Column
    private Date downDate;// 下架时间

    @Column(nullable = false)
    private Integer pv;// 观看次数

    @Column(nullable = false)
    private Integer vv;// 观看人数

    @Column(nullable = false)
    private Integer clickPv;// 点击次数

    @Column(nullable = false)
    private Integer isVisible;// 0-不显示(下架),1-可显示(上架)

    @Column
    private Float ep = 5.0f;// 评分

    @Column
    private Integer epTimes = 0;// 评分次数

    @Column(nullable = false)
    private String schoolId;// 创建人学校id

    @Column(nullable = false)
    private String schoolNick;

    @Column(nullable = false)
    private String author;// 贡献者

    @Column(nullable = false)
    private String authorId;

    /** 排列序号 */
    @Column(nullable = false, columnDefinition = "INT(11) DEFAULT 100")
    private Integer orderNum = 20;

    @Column(columnDefinition = "varchar(256) comment '贡献者头像' ")
    private String avator;// 贡献者头像

    @Column(columnDefinition = "datetime comment '更新时间,以下操作需要修改此时间:修改,上传课程,修改课程,发布课程,上传课时,修改课时,下架课程,审核课程,审核课时' ")
    private Date updateDate;

    // 是否已经推送到校本课程
    @Column(nullable = false, columnDefinition = "INT(11) DEFAULT 100")
    public Integer isToSchoolLesson = 0;

    // 是否是精品课程
    @Column(columnDefinition = "INT(1) DEFAULT 0")
    public Integer isJingpinLesson = 0;

    public Date getUpdateDate() {
        return updateDate;
    }

    public void setUpdateDate(Date updateDate) {
        this.updateDate = updateDate;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getSummary() {
        return summary;
    }

    public void setSummary(String summary) {
        this.summary = summary;
    }

    public String getCover() {
        return cover;
    }

    public void setCover(String cover) {
        this.cover = cover;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public String getRejectReason() {
        return rejectReason;
    }

    public void setRejectReason(String rejectReason) {
        this.rejectReason = rejectReason;
    }

    public Integer getPv() {
        return pv;
    }

    public void setPv(Integer pv) {
        this.pv = pv;
    }

    public Integer getVv() {
        return vv;
    }

    public void setVv(Integer vv) {
        this.vv = vv;
    }

    public Integer getIsVisible() {
        return isVisible;
    }

    public void setIsVisible(Integer isVisible) {
        this.isVisible = isVisible;
    }

    public Float getEp() {
        return ep;
    }

    public void setEp(Float ep) {
        this.ep = ep;
    }

    public Integer getEpTimes() {
        return epTimes;
    }

    public void setEpTimes(Integer epTimes) {
        this.epTimes = epTimes;
    }

    public String getSchoolId() {
        return schoolId;
    }

    public void setSchoolId(String schoolId) {
        this.schoolId = schoolId;
    }

    public String getAuthor() {
        return author;
    }

    public void setAuthor(String author) {
        this.author = author;
    }

    public Integer getOrderNum() {
        return orderNum;
    }

    public void setOrderNum(Integer orderNum) {
        this.orderNum = orderNum;
    }

    public String getCatalogId1() {
        return catalogId1;
    }

    public void setCatalogId1(String catalogId1) {
        this.catalogId1 = catalogId1;
    }

    public String getCatalogId2() {
        return catalogId2;
    }

    public void setCatalogId2(String catalogId2) {
        this.catalogId2 = catalogId2;
    }

    /**
     * @return the upDate
     */
    public Date getUpDate() {
        return upDate;
    }

    /**
     * @param upDate
     *            the upDate to set
     */
    public void setUpDate(Date upDate) {
        this.upDate = upDate;
    }

    /**
     * @return the downDate
     */
    public Date getDownDate() {
        return downDate;
    }

    /**
     * @param downDate
     *            the downDate to set
     */
    public void setDownDate(Date downDate) {
        this.downDate = downDate;
    }

    /**
     * @return the rejectType
     */
    public String getRejectType() {
        return rejectType;
    }

    /**
     * @param rejectType
     *            the rejectType to set
     */
    public void setRejectType(String rejectType) {
        this.rejectType = rejectType;
    }

    public String getDownType() {
        return downType;
    }

    public void setDownType(String downType) {
        this.downType = downType;
    }

    public String getDownReason() {
        return downReason;
    }

    public void setDownReason(String downReason) {
        this.downReason = downReason;
    }

    public String getAvator() {
        return avator;
    }

    public void setAvator(String avator) {
        this.avator = avator;
    }

    public String getAuthorId() {
        return authorId;
    }

    public void setAuthorId(String authorId) {
        this.authorId = authorId;
    }

    /**
     * @return the catalogId3
     */
    public String getCatalogId3() {
        return catalogId3;
    }

    /**
     * @param catalogId3
     *            the catalogId3 to set
     */
    public void setCatalogId3(String catalogId3) {
        this.catalogId3 = catalogId3;
    }

    /**
     * @return the catalogId4
     */
    public String getCatalogId4() {
        return catalogId4;
    }

    /**
     * @param catalogId4
     *            the catalogId4 to set
     */
    public void setCatalogId4(String catalogId4) {
        this.catalogId4 = catalogId4;
    }

    /**
     * @return the catalogId5
     */
    public String getCatalogId5() {
        return catalogId5;
    }

    /**
     * @param catalogId5
     *            the catalogId5 to set
     */
    public void setCatalogId5(String catalogId5) {
        this.catalogId5 = catalogId5;
    }

    /**
     * @return the auditDate
     */
    public Date getAuditDate() {
        return auditDate;
    }

    /**
     * @param auditDate
     *            the auditDate to set
     */
    public void setAuditDate(Date auditDate) {
        this.auditDate = auditDate;
    }

    public Integer getIsToSchoolLesson() {
        return isToSchoolLesson;
    }

    public void setIsToSchoolLesson(Integer isToSchoolLesson) {
        this.isToSchoolLesson = isToSchoolLesson;
    }

    public String getSchoolNick() {
        return schoolNick;
    }

    public void setSchoolNick(String schoolNick) {
        this.schoolNick = schoolNick;
    }

    public Integer getIsJingpinLesson() {
        return isJingpinLesson;
    }

    public void setIsJingpinLesson(Integer isJingpinLesson) {
        this.isJingpinLesson = isJingpinLesson;
    }

    public Integer getClickPv() {
        return clickPv;
    }

    public void setClickPv(Integer clickPv) {
        this.clickPv = clickPv;
    }
}
